home *** CD-ROM | disk | FTP | other *** search
/ Day Cry / Day Cry CD.bin / oh_towns / ein / sources / einlib.lzh / LIBSRC.LZH / EIN_CLP1.C < prev    next >
C/C++ Source or Header  |  1994-07-18  |  3KB  |  131 lines

  1. /*<Header>==============================================================
  2. *
  3. *    CLIP MANAGER / "EIN_CLP1.C"
  4. *
  5. *        [ EIN(tm) project : âEâBâôâhâDâNâèâbâvæÇì∞òΓÅòè╓ÉöîQ ]
  6. *
  7. *    COPYRIGHT  Nam & OZZY  1994, All rights reserved.
  8. *
  9. *-----------------------------------------------------------------------
  10. *    V1.0L01â┐    94.07.08/Nam    âvâìâgâ^âCâv(OZZYé│é±é╠è╓Éöé≡ùÿùp)
  11. *</Header>==============================================================*/
  12. #include    <stdio.h>
  13. #include    <stdlib.h>
  14. #include    <string.h>
  15. #include    <snd.h>
  16. #include    <winb.h>
  17. #include    <te.h>
  18. #include    <fntb.h>
  19. #include    <gui.h>
  20. #include    <egb.h>
  21. #include    <msdos.cf>
  22. #include    <loader.h>
  23. #include    <math.h>
  24. #include    <io.h>
  25. #include    <guidbg.h>
  26.  
  27. #define    EIN_CLIP
  28. #include    "..\eintm.h"
  29.  
  30. #ifndef NOERR
  31. #define    NOERR    (0)
  32. #endif
  33. #ifndef ERROR
  34. #define    ERROR    (1)
  35. #endif
  36.  
  37. /* âNâèâbâvâfü[â^ì\æóæ╠ */
  38. typedef struct {
  39.     WINCLIP        *clip;
  40.     WINCLIP        *visible;
  41.     POINT        svPos;
  42. }    EIN_CLIPWORK;                        /* âNâèâbâvâfü[â^ì\æóæ╠ */
  43.  
  44. /*<Func>================================================================
  45. *    int        EIN_clipOpen( char *work )
  46. *
  47. *    üyèT  ùvüz    âEâBâôâhâEâNâèâbâvæSëµû╩ë╗Åêù¥
  48. *
  49. *    üyï@  ö\üz    Ä└ìsè╓Éöôαé⌐éτâEâBâôâhâEÿgé≡æSëµû╩é╔é╖éΘ
  50. *
  51. *    üyôⁿ  ù═üz    *work        :    âNâèâbâvæ▐ö≡ùpâÅü[âN
  52. *
  53. *    üyÅo  ù═üz
  54. *
  55. *    üyè╓ÉöÆlüz    == NOERR    É│ÅφÅIù╣
  56. *
  57. *    üyÆì  ê╙üz    ÅIù╣îπé═ EIN_clipClose() é≡î─é╤Åoé╡é─ë║é│éó
  58. *
  59. *    üyÄgùpùßüz
  60. *                char        clp[EINCLIPSIZE];
  61. *
  62. *                EIN_clipOpen( cl );
  63. *                MG_mosDisp(2);
  64. *                WGB_putBlock( guiEgbPtr, 3, (char *)&put ) ;
  65. *                MG_mosDisp(3);
  66. *                EIN_clipClose( clp );
  67. *
  68. *-----------------------------------------------------------------------
  69. *    V11L10    1994.07.08/Nam    (OZZYé│é±é╠è╓ÉöéµéΦ)
  70. *</Func>==============================================================*/
  71. int        EIN_clipOpen( EIN_CLIPWORK *p )
  72. {
  73.     WINCLIP    *pwclp ;
  74.     WINCTRL    *pctrl ;
  75.     POINT    pos ;
  76.  
  77.     /* é¿û±æ⌐é╠ErrorTrap */
  78.     if ( p == NULL ){
  79.         return ERROR;
  80.     }
  81.     /*    ì└òWîné╠êΩÄ₧ò╧ìX    */
  82.     pos.x = 0 ; pos.y = 0 ;
  83.     MG_PushOrigin( &pos, &p->svPos ) ;
  84.  
  85.     /*    ëµû╩æSæ╠é╠âTâCâYé≡ĵô╛    */
  86.     MMI_GetControl( &pctrl ) ;
  87.     pwclp = WIN_getClipMemory( &( pctrl->bound ), NULL ) ;
  88.  
  89.     /*    ò\Īÿgé≡É▌ÆΦé╖éΘ.    */
  90.     WIN_pushVisible( WIN_copyClip( pwclp ), &p->visible ) ;
  91.     WIN_pushClip( pwclp, &p->clip ) ;
  92.  
  93.     return NOERR ;
  94. }
  95.  
  96. /*<Func>================================================================
  97. *    int        EIN_clipClose( char *work )
  98. *
  99. *    üyèT  ùvüz    âEâBâôâhâEâNâèâbâvæSëµû╩ë╗ë≡Å£Åêù¥
  100. *
  101. *    üyï@  ö\üz    Ä└ìsè╓Éöôαé⌐éτâEâBâôâhâEÿgé≡æSëµû╩ë≡Å£é╖éΘ
  102. *
  103. *    üyôⁿ  ù═üz    *work        :    âNâèâbâvæ▐ö≡ùpâÅü[âN
  104. *
  105. *    üyÅo  ù═üz    é╚é╡
  106. *
  107. *    üyè╓ÉöÆlüz    == NOERR    É│ÅφÅIù╣
  108. *
  109. *    üyÆì  ê╙üz    EIN_clipOpen() é╠îπé┼î─é╤Åoé╡é─ë║é│éó
  110. *
  111. *    üyÄQ  Å╞üz    
  112. *
  113. *-----------------------------------------------------------------------
  114. *    V11L10    1994.07.08/Nam    (OZZYé│é±é╠è╓ÉöéµéΦ)
  115. *</Func>==============================================================*/
  116. int        EIN_clipClose( EIN_CLIPWORK *p )
  117. {
  118.     /* é¿û±æ⌐é╠ErrorTrap */
  119.     if ( p == NULL ){
  120.         return ERROR;
  121.     }
  122.     /*    ò\Īÿgé≡ò£ïAé╖éΘ.    */
  123.     WIN_popClip( p->clip ) ;
  124.     WIN_popVisible( p->visible );
  125.     /* ì└òWîné╠ò£ïA */
  126.     MG_PopOrigin( &p->svPos );
  127.  
  128.     return NOERR ;
  129. }
  130.  
  131.